﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Resxus.Util
{
    public static class IEnumerableExtension
    {
        public static void DoAll<T>(this IEnumerable<T> collection, Action<T> action)
        {
            for (int index = 0; index < collection.Count(); index++)
            {
                T item = collection.ElementAt<T>(index);
                action(item);            
            }
        }

        public static void TryDoAll<T>(this IEnumerable<T> collection, Action<T> action)
        {            
            DoAll<T>(collection, param => 
            { 
                try
                {
                    action(param);
                }
                catch (System.Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
            });
        }
    }
}
